﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Loja.Banco;
using Loja.Aplicação;
using Loja.Controles.Dados;

namespace Loja.Controles.Aplicação
{
    public partial class FormAlerta : Form
    {
        private Controle controle;

        //private static System.ComponentModel.IContainer componentes; 

        public FormAlerta(Controle controle)
        {
            this.controle = controle;
            InitializeComponent();
        }                   

        public void EnviaAviso()
        {
            var produtos = controle.AvisoEstoque();
            String texto = "";
            foreach (var produto in produtos)
            {
                texto = texto + produto.Descricao.ToString() 
                              + " Qtd:" + produto.Quantidade.ToString() 
                              + " Minimo:" + produto.EstoqueMinimo.ToString() + "\n";
            }

            if (components == null)
            {
                components = new System.ComponentModel.Container();
            } 

            if (texto != "")
            {
                /*
                notifyIcon = new NotifyIcon(components);
                aviso.Visible = true;
                aviso.BalloonTipTitle = "Alerta do Estoque";
                aviso.BalloonTipText = texto;
                aviso.ShowBalloonTip(10);                
                System.Console.Beep(32767, 700);
                */

                notifyIcon = new NotifyIcon(components);
                notifyIcon.Icon = SystemIcons.Information;
                notifyIcon.BalloonTipTitle = "Alerta do Estoque";
                notifyIcon.BalloonTipText = texto;
                notifyIcon.BalloonTipIcon = ToolTipIcon.Info;
                notifyIcon.Visible = true;
                notifyIcon.ShowBalloonTip(10);
                System.Console.Beep(32767, 700);
            }
        }

        public void DesabilitaAvisos()
        {
            if (components != null)
            {
                components.Dispose();
            } 
        }
    }
}
